import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IMountPrx } from "./IMountPrx";
import { AMI_IMount_beckon } from "./AMI_IMount_beckon";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IMount_equip } from "./AMI_IMount_equip";
import { AMI_IMount_extendMountBar } from "./AMI_IMount_extendMountBar";
import { AMI_IMount_feedMount } from "./AMI_IMount_feedMount";
import { DictStrIntHelper } from "../Public/DictStrIntHelper";
import { AMI_IMount_getMountLevelBack } from "./AMI_IMount_getMountLevelBack";
import { SeqStringHelper } from "../Public/SeqStringHelper";
import { AMI_IMount_markInscriptions } from "./AMI_IMount_markInscriptions";
import { AMI_IMount_mountAdvance } from "./AMI_IMount_mountAdvance";
import { AMI_IMount_mountAdvanceFeed } from "./AMI_IMount_mountAdvanceFeed";
import { AMI_IMount_mountChangeModel } from "./AMI_IMount_mountChangeModel";
import { AMI_IMount_mountMerge } from "./AMI_IMount_mountMerge";
import { AMI_IMount_mountReincarnate } from "./AMI_IMount_mountReincarnate";
import { AMI_IMount_mountStarsCulture } from "./AMI_IMount_mountStarsCulture";
import { AMI_IMount_recall } from "./AMI_IMount_recall";
import { AMI_IMount_refreshMountGrow } from "./AMI_IMount_refreshMountGrow";
import { AMI_IMount_remove } from "./AMI_IMount_remove";
import { AMI_IMount_replaceMountGrow } from "./AMI_IMount_replaceMountGrow";
import { AMI_IMount_sale } from "./AMI_IMount_sale";
import { AMI_IMount_unEquip } from "./AMI_IMount_unEquip";
import { AMI_IMount_upgradeMountLevel } from "./AMI_IMount_upgradeMountLevel";
type int = number;
//class IMountPrxHelper
    
    export  class IMountPrxHelper extends RMIProxyObject implements IMountPrx
    {
        constructor()
        {
            
            super();name = "IMount";
            return;
        }

        public beckon_async(arg1: AMI_IMount_beckon, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("beckon");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public equip_async(arg1: AMI_IMount_equip, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("equip");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public extendMountBar_async(arg1: AMI_IMount_extendMountBar): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("extendMountBar");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public feedMount_async(arg1: AMI_IMount_feedMount, arg2: int, arg3: string, arg4: int, arg5: Map<any, any> /* flash.utils.Dictionary */): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("feedMount");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            DictStrIntHelper.write(loc3, arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMountLevelBack_async(arg1: AMI_IMount_getMountLevelBack, arg2: int, arg3: string, arg4: Array<any>, arg5: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMountLevelBack");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            SeqStringHelper.write(loc3, arg4);
            loc3.writeInt(arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public markInscriptions_async(arg1: AMI_IMount_markInscriptions, arg2: int, arg3: string, arg4: string, arg5: int, arg6: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("markInscriptions");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeString(arg4);
            loc3.writeInt(arg5);
            loc3.writeInt(arg6);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public mountAdvance_async(arg1: AMI_IMount_mountAdvance, arg2: int, arg3: string, arg4: int, arg5: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("mountAdvance");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            loc3.writeBool(arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public mountAdvanceFeed_async(arg1: AMI_IMount_mountAdvanceFeed, arg2: int, arg3: string, arg4: Array<any>, arg5: int, arg6: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("mountAdvanceFeed");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            SeqStringHelper.write(loc3, arg4);
            loc3.writeInt(arg5);
            loc3.writeBool(arg6);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public mountChangeModel_async(arg1: AMI_IMount_mountChangeModel, arg2: int, arg3: string, arg4: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("mountChangeModel");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeString(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public mountMerge_async(arg1: AMI_IMount_mountMerge, arg2: string, arg3: string, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("mountMerge");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public mountReincarnate_async(arg1: AMI_IMount_mountReincarnate, arg2: int, arg3: string, arg4: Boolean, arg5: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("mountReincarnate");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeBool(arg4);
            loc3.writeBool(arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public mountStarsCulture_async(arg1: AMI_IMount_mountStarsCulture, arg2: int, arg3: int, arg4: string, arg5: Boolean, arg6: Boolean, arg7: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("mountStarsCulture");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeString(arg4);
            loc3.writeBool(arg5);
            loc3.writeBool(arg6);
            loc3.writeBool(arg7);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public recall_async(arg1: AMI_IMount_recall, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("recall");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public refreshMountGrow_async(arg1: AMI_IMount_refreshMountGrow, arg2: int, arg3: string, arg4: int, arg5: Boolean, arg6: Array<any>): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("refreshMountGrow");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            loc3.writeBool(arg5);
            SeqStringHelper.write(loc3, arg6);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public remove_async(arg1: AMI_IMount_remove, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("remove");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public replaceMountGrow_async(arg1: AMI_IMount_replaceMountGrow, arg2: int, arg3: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("replaceMountGrow");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public sale_async(arg1: AMI_IMount_sale, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("sale");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public unEquip_async(arg1: AMI_IMount_unEquip, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("unEquip");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public upgradeMountLevel_async(arg1: AMI_IMount_upgradeMountLevel, arg2: int, arg3: string, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("upgradeMountLevel");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IMount";
    }
